" 显示行号
set number
set numberwidth=2

" 列限制列数
set colorcolumn=120

" 滚动更快
set ttyfast
set lazyredraw

" Tab可视化，结尾空格可视化
set list
set listchars=tab:▸\ ,trail:·

" 语法高亮
syntax on

" 使能鼠标
set mouse=a

" Vim自动探测fileencodings的顺序列表
" 启动时会按照它所列出的字符编码方式逐一探测即将打开的文件的字符编码方式
" 并且将fileencoding设置为最终探测到的字符编码方式
set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936

" Vim所工作的终端的字符编码方式
set termencoding=utf-8

" vim内部使用的字符编码方式
" 包括vim的buffer,菜单文本,消息文本等
set encoding=utf-8

" 启用终端更丰富的颜色: 256, 8(default)
set t_Co=256

" 自动缩进
set autoindent

" 用空格替代Tab
set expandtab
set tabstop=4
set shiftwidth=4

" 文本显示折行保证单词完整
set nowrap

" 总是显示状态行
set laststatus=2

" 高亮显示匹配的括号
set showmatch

" 高亮匹配结果
set hlsearch

" 搜索时忽略大小写
set ignorecase

" 搜索时智能匹配大小写
set smartcase

" 不保存备份文件
set nobackup

" 不保存交换文件
set noswapfile

" 保存历史文件
set undofile
set undodir=~/.config/nvim/.undodir
set undolevels=1000

" 不播放错误铃声
set noerrorbells

" 显示错误铃声
set visualbell

" 文件变化后自动重读
set autoread

" 启用命令行模式下自动补全
set wildmenu

" 进入vim不切换到文件所在目录
set noautochdir

" 打开文件时光标返回上次离开的位置
if has("autocmd")
    autocmd BufReadPost * execute "normal g'\""
endif

" 用标记来表示折叠
set foldmethod=marker

" 默认不开启折叠
set nofoldenable
